import { AudioUrl } from "../Constant/Constant";

/**
 * 音频工具类
 */
export default class AudioUtil {
    /**
     * 动态加载音频资源
     * @param audioUrl 音频url枚举
     * @returns 加载到的音频资源 Promise<cc.AudioClip | null>
     */
    public static loadAudio(audioUrl: AudioUrl): Promise<cc.AudioClip | null> {
        return new Promise((resolve, reject) => {
            cc.resources.load(audioUrl, cc.AudioClip, (err, audio) => {
                if (err) {
                    console.warn(`[AudioUtil] load {${audioUrl}} audio err:`, err)
                    reject(null)
                    return
                }
                resolve(audio)
            })
        })
    }
}